﻿namespace Softserve.Pottery.Store.Domains
{
    using System;
    using Softserve.Pottery.Infrastructure;
    using System.Runtime.Serialization;
    using System.Data.Services.Common;
    using Softserve.Pottery.Infrastructure.Interfaces;   

    [DataContract]
    [DataServiceEntity]
    public class Notification : IValidatable, IDomain
    {
        #region Properties

        [DataMember]
        public int Id
        {
            get { return m_Id; }
            set { m_Id = value; }
        }

        [DataMember]
        public int ReceiverId
        {
            get { return m_ReceiverId; }
            set { m_ReceiverId = value; }
        }

        [DataMember]
        public string Message
        {
            get { return m_Message; }
            set { m_Message = value; }
        }

        [DataMember]
        public NotificationType Type
        {
            get { return m_Type; }
            set { m_Type = value; }
        }

        #endregion

        #region Methods

        public bool Validate()
        {
            return true;
        }

        #endregion

        #region Private fields

        private int m_Id = default(int);

        private int m_ReceiverId = default(int);

        private string m_Message = String.Empty;

        private NotificationType m_Type = NotificationType.pushMessage;

        #endregion
    }
}
